Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Машинні коди. Байт Способу Адресації.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Практична робота (завдання)
Предмет:
Системне програмування та операційні системи

Частина тексту файла

системне програмування Практична робота № 3 Машинні коди. Байт Способу Адресації. В загальному, формат машинної команди можна представити наступним чином: Префікс Перепризначення сегменту Код Операції Байт способу адресації Адреса Дані  0/1 0/1 Завжди присутній 1 0/1 0,1,2 0,1,2  Позначення 0/1 означає відсутність/присутність даного поля в машинному коді або і його розмір в байтах. Існують команди розмірності 1,2,3,4 байти. Поле “Префікс” – для команд повтору рядкових операцій REP/REPE/REPZ/REPNZ – повторює рядкову операцію визначену кількість разів безумовно, або по стану прапорця. Використовуються в якості префікса перед рядковими командами типу CMPS(порівняння рядків), MOVS(переміщення рядів). Наприклад: MOV CX,20 Встановлення лічильника на 20 байт  LEA DI, STRING2 Адреса “куди” пересилати (відносно значення в регістрі ES)  LEA SI, STRING1 Адреса “звідки” пересилати (відносно значення в регістрі DS)  REP MOVSB Переслати дані (породжений машинний код: CS:0101 F3 CS:0102 A4) Значення в лічильнику команд не змінюється поки в CX не буде 0, а декремент відбувається автоматично.   Поле “Перепризначення сегменту” – присутній в командах, що використовують додаткове перевизначення сегментних регістрів. Поле “Код Операції” (далі - КО) визначає яка саме дія буде виконуватися (+/-/MOV...) Поле “Байт способу адресації” (БСА) : Відсутній у таких випадках: команда не має операндів; один операнд регістр другий - безпосередні дані; один операнд – адреса пам’яті, другий – регістр AX або AL (для акумулятора є спрощені команди, тому адресація інша); в командах переходів (JMP); в командах прямого вводу-виводу (IN-OUT). Присутній, коли є непряма, пряма адресація. Способи адресації Розрізняють такі види адресації: Регістрова – всі операнди знаходяться в регістрах процесора; Безпосередня – один з операндів є безпосередньо числом(даними); Пряма – в одному з операндів команди вказується ім’я певної змінної (мітка), адреса в регістрі; Непряма: Базова Індексна Базово-індексна Команди з прямою адресацією пам’яті працюють швидше, оскільки не потребують додаткового додавання при визначенні фізичної адреси При непрямій адресації посилання на операнд визначається через базовий або індексний регістр, константи, змінні зміщення та прості змінні. Квадратні дужки, що визначають операнди при такій адресації діють як знак плюс. Схема формування адреси при непрямій адресації: Ці операнди можна комбінувати в довільній послідовності. Але не можна одночасно використовувати два базові регістри або два індексні регістри. Відповідно, можна побудувати 16 різних записів адресації. При формуванні фізичної адреси базовий регістр BX у виді [BX] використовується разом з сегментним регістром DS, а базовий регістр BP у виді [BP] використовується разом з сегментним регістром SS. Індексні регістри SI та DI передбачають використання сегментного регістру DS. Приклади адресації {припустимо маємо наступні визначення для сегментів і даних} DOSSEG .MODEL SMALL .STACK 100h .DATA HeM DB 'Hello, world',13,10,'$' .CODE mov ax,@data mov ds,ax mov ah,9 mov dx,OFFSET HeM int 21h Команда Спосіб адресації Результат Машинний код   mov ds,ax Регістрова ds=5254 8ED8   mov si,7 mov di,11d mov bp,0 mov bx,0 Безпосередня si=0007 di=000B bp=0000 bx=00000 BE0700 BE0B00 BD0000 DD0000   mov al,HeM mov al,[HeM] mov al,HeM+7 Пряма al=48 al=48 al=77 A00000 A00000 A00700   mov al,[bp] mov al,[bx] Базова al=64 al=48 8A4600 8A07   mov al,HeM[si] mov al,[HeM+si] mov al,[HeM][si] mov al,[HeM].si mov al,HeM.[si] mov al,HeM.si Індексна al=77 8A840000   mov al,[bp][di] mov al,[bx][si] mov al,[bx+di+7] mov al,[bp][si+HeM].7 Базово-індексна al=00 al=6C al=0A al=00 8A03 8A00 8A4107 8A820007   mov ah,4ch int 21h END Повертаючись до БСА, і враховуючи наведені способи адресації, зупинимось детальніше на форматі цього поля. Зверн...
Антиботан аватар за замовчуванням

29.05.2014 22:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини